YES 0.964
↳ HASKELL
↳ BR
| ((nub :: [()] -> [()]) :: [()] -> [()]) | 
| import qualified Maybe import qualified Prelude | |||||||||||||||||||||||||||
| nub :: Eq a => [a]  ->  [a] 
 | 
| import qualified List import qualified Prelude | 
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
| ((nub :: [()] -> [()]) :: [()] -> [()]) | 
| import qualified Maybe import qualified Prelude | |||||||||||||||||||||||||||
| nub :: Eq a => [a]  ->  [a] 
 | 
| import qualified List import qualified Prelude | 
nub' [] vw = [] nub' (x : xs) ls 
| x `elem` ls 
= nub' xs ls | otherwise 
= x : nub' xs (x : ls) 
nub' [] vw = nub'3 [] vw nub' (x : xs) ls = nub'2 (x : xs) ls 
nub'0 x xs ls True = x : nub' xs (x : ls) 
nub'1 x xs ls True = nub' xs ls nub'1 x xs ls False = nub'0 x xs ls otherwise 
nub'2 (x : xs) ls = nub'1 x xs ls (x `elem` ls) 
nub'3 [] vw = [] nub'3 wv ww = nub'2 wv ww 
undefined 
| False 
= undefined 
undefined = undefined1 
undefined0 True = undefined 
undefined1 = undefined0 False 
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
| ((nub :: [()] -> [()]) :: [()] -> [()]) | 
| import qualified Maybe import qualified Prelude | |||||||||||||||||||||||||||||||||||||||||||||
| nub :: Eq a => [a]  ->  [a] 
 | 
| import qualified List import qualified Prelude | 
nub' l [] where 
nub' [] vw = nub'3 [] vw nub' (x : xs) ls = nub'2 (x : xs) ls 
nub'0 x xs ls True = x : nub' xs (x : ls) 
nub'1 x xs ls True = nub' xs ls nub'1 x xs ls False = nub'0 x xs ls otherwise 
nub'2 (x : xs) ls = nub'1 x xs ls (x `elem` ls) 
nub'3 [] vw = [] nub'3 wv ww = nub'2 wv ww 
nubNub'2 (x : xs) ls = nubNub'1 x xs ls (x `elem` ls) 
nubNub' [] vw = nubNub'3 [] vw nubNub' (x : xs) ls = nubNub'2 (x : xs) ls 
nubNub'1 x xs ls True = nubNub' xs ls nubNub'1 x xs ls False = nubNub'0 x xs ls otherwise 
nubNub'0 x xs ls True = x : nubNub' xs (x : ls) 
nubNub'3 [] vw = [] nubNub'3 wv ww = nubNub'2 wv ww 
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ Narrow
| (nub :: [()] -> [()]) | 
| import qualified Maybe import qualified Prelude | |||||||||
| nub :: Eq a => [a]  ->  [a] 
 | |||||||||
| 
 | |||||||||
| 
 | |||||||||
| 
 | |||||||||
| 
 | |||||||||
| 
 | 
| import qualified List import qualified Prelude | 
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ Narrow
↳ QDP
↳ QDPSizeChangeProof
new_nubNub'(:(@0, wx311), @0) → new_nubNub'(wx311, @0)
From the DPs we obtained the following set of size-change graphs: